package com.tansun.easycare.rule.ruleexcute.service;

import java.util.Map;

import com.tansun.easycare.rule.exception.BizException;
import com.tansun.easycare.rule.ruleexcute.model.RuleExecuteVO;
import com.tansun.easycare.rule.rulelog.entity.RuleLogs;
import com.tansun.rule.utils.MClass;

public interface RuleExcuteService {

    /**
     * 执行规则
     */
    String excuteDrl(String xml, String[] contentDrl, String bpmnContent, String type, Map<String, MClass> metaMap,
                     String agendaGroup) throws BizException;
    //excuteDrl(String xml, String[] contentDrl, String bpmnContent, String type, Map<String, MClass> metaMap, String agendaGroup,Map<String,String> drlMap)
    /**
     * 数据集文本
     */
    String getXmlForTest(String type, String projectCode) throws Exception;

    /**
     * 执行规则流规则
     */

    RuleLogs excuteDrl(String xml, String ruleflowInfo, String projectCode);
    /**
     * 执行衍生计算
     */
    String excuteMath(String xml, String type, String projectCode) throws Exception;

    /**
     * 收集规则流数据集文本
     */
    public String getRuleFlowXmlForTest(RuleExecuteVO ruleExecute) throws BizException;

    /**
     * 执行规则计算 20191226 ljt
     * @param xml
     * @param ruleflowInfo
     * @param type
     * @param projectCode
     * @return
     * @throws Exception
     */
    public String excuteRule(String xml, String ruleflowInfo, String type, String projectCode) throws  Exception;
	
    
    public String excuteDrl(RuleExecuteVO ruleExecute) throws Exception ;
    public String excuteDrl(String xml, String ruleflowInfo, String type, String projectCode, String bcm, String modelType)
			throws Exception;

}
